package org.ndx.jsg.output;

import org.ndx.jsg.output.freemarker.DefaultProcessableFiles;
import org.ndx.jsg.output.freemarker.JsgXmlTransformer;
import org.ndx.jsg.output.freemarker.ProcessableFiles;

import com.google.inject.AbstractModule;
import com.google.inject.multibindings.Multibinder;

public class OutputManagerModule extends AbstractModule {

	@Override
	protected void configure() {
		bind(ProcessableFiles.class).to(DefaultProcessableFiles.class);
	
		
		Multibinder<OutputProvider> outputProviders = Multibinder.newSetBinder(binder(), OutputProvider.class);
		outputProviders.addBinding().to(FileCopier.class);
		outputProviders.addBinding().to(JsgXmlTransformer.class);


		Multibinder<OutputManager> outputManagers = Multibinder.newSetBinder(binder(), OutputManager.class);
		outputManagers.addBinding().to(DefaultOutputManager.class);
	}

}
